
package com.javaleague.sesionUsuario;

import com.javaleague.Constantes;
import com.javaleague.Mensaje;
import com.javaleague.persistencia.DAOMensajesPrivados;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * @author TaixMiguel
 */
public class Mensajes extends HttpServlet {
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        
        HttpSession session = request.getSession(true);
        Usuario user = (Usuario)session.getAttribute("usuario");
        
        ArrayList<Mensaje> mensajes = null;
        
        if (request.getParameter("read") != null){
            mensajes = DAOMensajesPrivados.readMessages(user.getId(), user.getTokenUser());
        }            
            
        if (request.getParameter("write") != null) {
            String userLector = request.getParameter("userLector");
            String message = request.getParameter("message");
            String subject = request.getParameter("subject");
            DAOMensajesPrivados.writeMessage(user.getId(), user.getTokenUser(), userLector, message, subject);
        }
        try {
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet Mensajes</title>");
            out.println("</head>");
            out.println("<body>");
            
            for (int i = 0; i < mensajes.size(); i++) {
                out.print(mensajes.get(i).getId() + " - ");
                out.print(mensajes.get(i).getFecha() + " - ");
                out.print(mensajes.get(i).getAsunto() + " - ");
                out.print(mensajes.get(i).getTexto() + " - ");
                out.print(mensajes.get(i).getUserSender() + " - ");
                out.print(mensajes.get(i).getUserReceiver() + " - ");
                out.print(mensajes.get(i).isLeido()?"Si":"No");
                out.println("<br />");
            }
            
            out.println("</body>");
            out.println("</html>");
            
            if (request.getParameter("write") != null)
                response.sendRedirect(Constantes.Rutas.PATCH + "index.jsp");
        } finally { 
            out.close();
        }
    }
    
    
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
}